﻿using System;

namespace UPA
{
    internal static class PathUtils
    {
        public static string MakeRelativeTo(string fromDir, string toPath)
        {
            Uri fromUri = new Uri(fromDir);
            Uri toUri = new Uri(toPath);

            // 如果是相同的基础URI（例如都是file:///），则进行相对化处理
            if (fromUri.Scheme != toUri.Scheme)
            {
                return toPath;
            } // 不同的方案意味着不同的协议，不能相对化

            Uri relativeUri = fromUri.MakeRelativeUri(toUri);
            string relativePath = Uri.UnescapeDataString(relativeUri.ToString());
            
            return relativePath;
        }
    }
}

